/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package occho.data;

import java.sql.SQLException;
import java.util.List;
import occho.model.Tema;
import occho.model.Pregunta;

/**
 *
 * @author Migue
 */
public interface PreguntaDAO {

    /**
     * Inserta una pregunta en la base de datos
     * @param pre tem
     * @param tem 
     * @return true si la pregunta fue insertada
     * @throws SQLException  
     */
    public boolean insertarPregunta(Pregunta pre, Tema tem) throws SQLException;
    
    /**
     * Borra una pregunta y sus respuestas de la base de datos
     * @param pre
     * @return true si la pregunta fue borrada
     * @throws SQLException  
     */
    public boolean borrarPregunta(Pregunta pre) throws SQLException;
    
    /**
     * Selecciona una pregunta de la base de datos
     * @param idPregunta 
     * @return la pregunta seleccionada
     * @throws SQLException
     * @throws ClassNotFoundException  
     */
    public Pregunta seleccionarPregunta(int idPregunta) throws SQLException, ClassNotFoundException;
    
    /**
     * Selecciona todas las preguntas de la base de datos
     * @return una lista de las preguntas disponibles
     * @throws SQLException 
     * @throws ClassNotFoundException  
     */
    public List<Pregunta> seleccionarPreguntas() throws SQLException, ClassNotFoundException;
    
    /**
     * Selecciona todas las preguntas pertenecientes a un tema
     * @param tema
     * @return la lista de preguntas del tema especificado
     * @throws SQLException
     * @throws ClassNotFoundException  
     */
    public List<Pregunta> seleccionarPreguntas(Tema tema) throws SQLException, ClassNotFoundException;
    
    /**
     * Selecciona el tema de una determinada pregunta
     * @param pre
     * @return El tema de la pregunta especificada
     * @throws SQLException
     * @throws ClassNotFoundException  
     */
    public Tema seleccionarTema(Pregunta pre) throws SQLException, ClassNotFoundException;
    
    

}
 